Many enterprises employ an interactive voice response (IVR) system that handles calls from telecommunications terminals. An interactive voice response system typically presents a hierarchy of menus to the caller, and prompts the caller for input to navigate the menus and to supply information to the IVR system. For example, a caller might touch the “3” key of his terminal's keypad, or say the word “three”, to choose the third option in a menu. Similarly, a caller might specify his bank account number to the interactive voice response system by inputting the digits via the keypad, or by saying the digits. In many interactive voice response systems the caller can connect to a person in the enterprise by either selecting an appropriate menu option, or by entering the telephone extension associated with that person.
FIG. 1 depicts telecommunications system 100 in accordance with the prior art. Telecommunications system 100 comprises telecommunications network 105, private branch exchange (PBX) 110, and interactive voice response system 120, interconnected as shown.
Telecommunications network 105 is a network such as the Public Switched Telephone Network [PSTN], the Internet, etc. that carries a call from a telecommunications terminal (e.g., a telephone, a personal digital assistant [PDA], etc.) to private branch exchange 110. A call might be a conventional voice telephone call, a text-based instant messaging (IM) session, a Voice over Internet Protocol (VoIP) call, etc.
Private branch exchange 110 receives incoming calls from telecommunications network 105 and directs the calls to interactive voice response (IVR) system 120 or to one of a plurality of telecommunications terminals within the enterprise, accordingly. Private branch exchange 110 also receives outbound signals from telecommunications terminals within the enterprise and from interactive voice response system 120, and transmits the signals on to telecommunications network 105 for delivery to the caller's terminal.
As described above, interactive voice response system 120 is a data-processing system that presents one or more menus to the caller and receives input from the caller (e.g., speech signals, keypad input, etc.) via private branch exchange 110. Interactive voice response system 120 is capable of hosting one or more applications, of submitting commands to the applications, of forwarding caller input to the applications, and of receiving output from the applications. In some embodiments interactive voice response system 120 might be a general-purpose server that hosts software applications, while in some other embodiments interactive voice response system 120 might be an “appliance” in which the applications are implemented in hardware (e.g., field-programmable gate arrays [FPGAs], application-specific integrated circuits [ASICs], etc.).